package activiti;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;

import java.util.List;

/**
 * @Author: 蔡翔
 * @Date: 2019/9/2 10:11
 * @Version 1.0
 *
 * 查询当前用户的任务列表
 *
 */
public class ActivitiTaskQuery {

    //lisi 完成自己任务列表的查询
    public static void main(String[] args) {
        // 1.得到ProcessEngine对象
        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
        // 2.得到TaksService对象
        TaskService taskService = processEngine.getTaskService();
        // 3.根据流程定义的key，负责人assignee(执行者)；来实现当前用户的任务列表查询
        List<Task> taskList = taskService.createTaskQuery().processDefinitionKey("holiday")
                .taskAssignee("wangwu")
                .list(); //还可以做分页的效果
        // 4.任务列表的展示
        for(Task task:taskList){
            System.out.println("流程实例id："+task.getProcessInstanceId());
            System.out.println("任务id："+task.getId());
            System.out.println("负责人名称："+task.getAssignee());
            System.out.println("任务名称："+task.getName());
        }
    }
}
